SpeedSearch Home Page <http://www.kagi.com/brunk/>
Features
SpeedSearch is shareware. The price is U.S. $10. Site licenses are available.
SpeedSearch is an application that quickly searches files for text. It is ideally suited for programmers, web masters and anyone else who needs to find text in files. Some of its features include the following:
• Searches a folder hierarchy or one or more volumes.
• Search results are displayed using the WASTE text engine.
• Search results are limited in size only by the amount of memory given to SpeedSearch.
• Search results are displayed in color, which is user-configurable.
• Search results are displayed in a font and size that is user-configurable.
• Search results can be searched for a specified string.
• Search results can be saved to and loaded from a file.
• Search results can be copied using the copy command or drag and drop.
• Functions such as text scrolling and window resizing remain available during a search.
• Regular expression (like grep) matching is available, using extended regular expressions.
• Files and folders of matches can be opened by SpeedSearch.
• Patterns can be specified to limit the search to only file names matching the patterns.
• The start folder can be set using drag and drop.
• Start folders can be added to a menu for easy access at a later time.
• Multiple search windows can be opened.
• Macintosh, DOS and UNIX file formats are handled, transparent to the user.
• Extensive Balloon Help is available for all windows.
SpeedSearch requires System 7 or later and Color Quickdraw. SpeedSearch is shareware. See below for information on registering SpeedSearch.
Using SpeedSearch
Using SpeedSearch is easy. Just select a start folder and specify the string to search for, then start the search. Any files containing text that match the search string are displayed, along with the lines that matched, in the results area. Additional features of SpeedSearch are described below.
The Start Folder
The start folder is where the search begins. You can search in either a single folder or in one or more volumes. The full path of the current start folder is displayed in the Start Folder field, and the start folder's icon is displayed on the Start Folder Icon Button. Setting the start folder or volumes is described below.
Using the Custom Selection Dialog
To select the start folder using the custom selection dialog, either click the Start Folder Icon Button or select the Select Start Folder... item in the Search menu. A custom selection dialog is opened that displays only folders. Clicking the button above the list selects the folder that contains the folders displayed in the list. Clicking the button below the list selects the highlighted folder in the list.
Tip: You can set the start folder to the parent folder of the current start folder by holding down the shift key and clicking on the Start Folder Icon Button.
Dragging and Dropping a Start Folder
Using drag and drop to set the start folder only works if the Drag Manager is present. To set the start folder from the Finder, click on a folder and drag it onto the Start Folder Icon Button. When the folder moves over the button, the button highlights, and releasing the mouse sets the start folder. You will notice that when SpeedSearch is not the current application (and a search is not in progress), the Start Folder Icon Button remains enabled. This allows you to set the start folder via drag and drop, even when SpeedSearch is not the current application.
Using the Start Folder Favorites Popup-Menu
The Start Folder Favorites popup-menu is located to the right of the Start Folder field. You can set the start folder by selecting an item from this menu. You can add the current start folder to this menu by selecting the first item, "Add Current Start Folder". You can edit this menu by selecting the last item, "Modify This Menu…". This displays a dialog that allows you to add, remove, and rearrange the order of items in the menu.
Selecting Start Volumes
Instead of specifying a single start folder, you can search one or more entire volumes. To specify the volumes, select the "Select Start Volumes…" item in the Search menu. This will bring up a dialog that allows you to specify the volumes to be searched.
Specifying a Search String
You specify the string you want to search for in the edit field labeled "Search For:". By default, the text is searched for exactly as entered. However, you can have SpeedSearch treat the string as case-insensitive, as a whole word, or as a regular expression, as described in the following.
Ignore Case
The "Ignore Case" checkbox appears directly below the search string edit field. When this box is checked, the search string is treated as case-insensitive, which means that no distinction will be made between lower- and upper-case characters.
Entire Word
The "Entire Word" checkbox appears directly below the search string edit field. When this box is checked, the search string is only matched as a whole word. For example, a search string of "dog" will match "My dog is black?" and "This is my dog.", but not "How many dogs?." or "This doghouse is big.".
Regular Expression
The "Regular Expression" checkbox appears directly below the search string edit field. When this box is checked, the search string is treated as a regular expression. A regular expression is a pattern or a particular sequence of characters that can match a range of characters.
Using regular expressions is a powerful way to perform searches. If you're familiar with the UNIX grep command, then you're probably already familiar with regular expression syntax. If not, the following table will help you get started. To get the most out of using regular expressions, you should consult a book on this subject. An excellent reference is the book Mastering Regular Expressions, authored by Jeffrey Friedl and published by O'Reilly and Associates.
Before getting too far, you should be aware that there are many flavors of regular expression syntax. Most of the differences between implementations are in the way special characters (called metacharacters) are specified. In most cases, the major difference is that in one implementation "(" has special meaning while in another implementation "\(" has special meaning. The good thing is that the core set of special characters, whether they are escaped with a backslash or not, have basically the same meaning in all implementations.
SpeedSearch uses an extended regular expression syntax which is much like that of the UNIX grep command. The following table summarizes the syntax.
This menu appears to the right of the "Regular Expression" checkbox. Selecting an item in this menu places its regular expression equivalent into the search string field.
To start a search, click on the Start Button, located directly to the right of the "Search For:" field; or select the Start Search item in the Search menu; or press the return or enter key. You can only start a search when the "Search For:" field contains text. In addition, if you have selected "containing" from the "Search File Names" popup-menu, the file name string field must also contain text in order to start a search.
Stopping a Search
By default, the search continues until all files have been searched. You can stop a search in progress by clicking on the Stop Button, located directly to the right of the Start Button, or by selecting the Stop Search item in the Search menu.
Search Status
The status of a search is indicated in various fields. These are described as follows.
Files Searched
This field displays the total number of files that have been searched.
Files Matched
This field displays the total number of files that contain lines matching the search string.
Matches
This field displays the total number of lines that have matched the search string.
The Progress Bar
The progress bar is located on the right directly above the results area and is used to display the progress of a search. The "Enable" checkbox beside the progress bar is used to enable or disable displaying of the search progress. The reason why this exists is that when the start folder is not a root folder (i.e., a volume), its entire folder hierarchy must be scanned to count the number of files to be searched. For folders containing a large number of files in their hierarchy, this may take a considerable amount of time, especially on slower 68K machines or when the folder resides on a CD-ROM. When this box is not checked, the number of files to search does not have to be determined, and a search will start immediately. Thus, this checkbox lets the user decide whether an indication of progress justifies the time it takes to determine the file count. As you continue to use SpeedSearch, you'll probably find yourself using this checkbox, even if you have a fast PowerPC.
Note that SpeedSearch caches file counts for each folder searched. Thus, if you do subsequent searches in the same folder, the search will begin immediately because the file count has already been determined.
The progress bar is also used to show progress when SpeedSearch results are saved to or loaded from a file.
The Current Folder Field
This field is directly to the right of the folder icon button. When a search is in progress, it displays the full path of the current folder being searched. When a search is completed and the number of matches is greater than zero, it displays the full path of the currently selected file in the results area.
The Current File Field
This field is directly to the right of the file icon button. When a search is in progress, it displays the name of the current file being searched. When a search is completed and the number of matches is greater than zero, it displays the name of the file currently selected in the results area.
The Folder Level Indicator
When a search is in progress, the current folder level of the search is indicated by the blue bars which appear between the Current Folder and Current File fields.
The Results Area
The results area is where search results are displayed. When a search string matches a line in a file, the file name and line are displayed in the results area. The search string is displayed in the color and style specified in the Preferences Dialog. The width of the file name column is adjustable. To adjust it, move the cursor over the separator just to the left of the "Match" heading. As you move the cursor over this separator, the shape of the cursor will change. Click the mouse button and drag to set the desired width.
When a search has completed and one or more matches are found, clicking on a line displays the full path and file name in the fields above the results area. The folder's icon and file's icon are displayed in the icon buttons above the results area, and the arrow in the leftmost column of the results area indicates the currently selected file.
Opening the Selected File
You can open the currently selected file in many ways: by selecting the Open Selected File item from the File menu; by holding down the command key and double-clicking the line; by holding down the command key and pressing the tab key; or by clicking the File Icon Button. The application that the file is opened in depends on what you have specified in the Preferences Dialog. If you have selected "File's Application", the file is opened in the file's creator application, which is equivalent to double-clicking on the file's icon in the Finder. If you have specified "Chosen Application", the file is opened in the application you have chosen in the Preferences Dialog. Holding down the shift key in combination with any of the above opens the file in its creator application, regardless of what you have specified in the Preferences Dialog.
Regardless of whether the file is to be opened in the application selected in Preferences Dialog or in the file's creator application, if an application is running and it has the same creator as the application the file is to be opened in, the file is opened in that running application.
Note to BBEdit and CodeWarrior Users
Whenever a file is opened in either BBEdit or CodeWarrior, the file will be opened with the insertion point positioned at the start of the line that corresponds to the line in the results area.
Opening the Enclosing Folder of the Selected File
You can open the folder that contains the currently selected file in three ways: by selecting the Open Enclosing Folder item from the File menu; by holding down the option key and double-clicking the line; or by clicking the Folder Icon Button. In either case, the result is equivalent to double-clicking on the folder's icon in the Finder.
When the folder is opened, the file is highlighted in the Finder.
Copying Text from the Results Area
You can select and copy text from the results area to the clipboard. You can also copy text from the results area using drag and drop. You cannot paste or insert characters into the results area.
Navigation in the Results Area
All of the navigation keys (arrows and home, end, page-up and page-down) are functional in the results area. In addition, the following key combinations are implemented:
option-up-arrow: moves to the first character in the results area
option-down-arrow: moves to the last character in the results area
option-right-arrow: moves forward one word
option-left-arrow: moves back one word
command-right-arrow: moves to the end of the line
command-right-arrow: moves to the start of the line
Intelligent Scrolling
When a search is in progress, results are automatically scrolled so that the latest match appears at the bottom of the results area. Manually scrolling upwards turns off autoscrolling. Manually scrolling to the bottom turns autoscrolling back on.
Finding Text in The Results Area
Once a search is complete and matches are displayed in the results area, you can find text in it using the Find… command in the Edit menu. This displays a dialog that allows you to specify the text to find and works similar to the standard Find commands found in word processors. You can additionally specify whether to treat the text as case-sensitive, a whole word, or a regular expression. You can also specify whether to wrap from the end to start of the results text. The radio buttons in this dialog are used to specify whether to find text in the file names, the matches, or both.
Tab Group
The results area and search string field form a tab group. Once a search is complete and matches are displayed in the results area, you can toggle input focus between these areas using the tab key. Pressing the tab key when the results area has input focus switches focus to the search string field and selects all of its text. This makes it easy to replace the search string when you want to perform another search.
Displaying Additional File Information
Once a search is complete and matches are displayed in the results area, clicking on the arrow to the left of the selected line pops up a window that displays additional information about the file. The number at the top right of this window is the length, in bytes, of the results text.
Other Items in the SpeedSearch Window
The following describes the function of other items that appear in the main SpeedSearch window.
Disclosure Triangle
Additional settings can be shown or hidden by clicking the disclosure triangle near the upper left of the SpeedSearch window. These settings are described below.
Search Nested Folders
When this box is checked, files in the current start folder and all of its nested folders are searched. When not checked, only files in the current start folder are searched.
Search Folder Aliases
When this box is checked, aliases that represent folders are resolved and their target folders are searched. If this box is checked, SpeedSearch uses the Alias Manager to resolve the alias without user interaction. Thus, if an alias represents a folder on an unmounted volume (or it represents an unmounted volume), the folder will not be searched. This allows you to search an entire volume without having to respond to dialogs that ask you to mount an unmounted volume.
Search File Aliases
This checkbox functions just like the "Search Folder Aliases" checkbox except that it applies to file aliases.
Autoscroll While Searching
When this box is checked, the text results will automatically scroll while a search is in progress. Autoscrolling of the text results means that each line matched must be drawn, and this turns out to be rather throughput intensive. If you are performing a search in which you expect there to be a large number of matches, turning this option off can save considerable time. Note that when this option is disabled, you can still manually scroll the search results while a search is in progress.
Search File Types
You can perform a search in files of type 'TEXT' only or in all files. Use the radio buttons to select the file type.
Sound When Done
When this box is checked, the system alert sound is played when a search completes.
List First Match Only
When this box is checked, only the first match in each file is displayed in the results area. When this box is not checked, all matches in each file are displayed.
The Search Filenames Menu
The Search Filenames popup-menu is located below the Start Folder field. This menu allows you to specify, by name, which files get searched. Selecting the "All" item in this menu causes all files to be searched. Selecting an item that begins with "ending in" will limit the search to files whose names end in the specified text. Selecting the "containing" item displays an edit field to the right of this menu that allows you to specify text that will be used to match file names. You can edit the contents of this menu by selecting the "Modify This Menu…" item.
The Start Folder Favorites Menu
The Start Folder Favorites popup-menu is located to the right of the Start Folder field. Selecting an item in this menu makes it the current start folder. You can add the current start folder to this menu by selecting the first item, "Add Current Start Folder", or modify the menu by selecting the last item, "Modify This Menu…". Items in this menu are stored along with other preferences, so they remain available even after quitting and restarting SpeedSearch.
SpeedSearch stores items in this menu as aliases. If you add a folder to this menu and the folder cannot be found (because it has been deleted or its volume is not mounted, for example) when SpeedSearch is started, the item will be disabled. If you dismount a volume that contains a folder in this menu and then select the folder, SpeedSearch will display a dialog asking you to mount the volume. If you cancel the dialog, then the item will become disabled. If you mount a volume that contains a folder in this menu while SpeedSearch is running, SpeedSearch will automatically enable the item after the volume is mounted.
Iconizing the SpeedSearch Window
Selecting the Iconize item in the File menu reduces the SpeedSearch window to a small window that contains only an icon. Clicking in the icon or selecting Deiconize from the File menu restores the SpeedSearch window.
Saving and Loading Results
Search results can be saved to a file as either a regular 'TEXT' file or as a file that can be loaded into SpeedSearch. Select the "Save Results…" item in the File menu to specify a file. In the save file dialog, you specify the type of file using the radio buttons at the bottom of the dialog. By default, results are saved with a file of type SpeedSearch.
When you save search results as TEXT, the creator of the file is set to the setting specified in the Preferences Dialog. By default, the creator is set to 'ttxt' (SimpleText).
When you save results with a file type of SpeedSearch, the file can be loaded into SpeedSearch by selecting the "Load Results…" item in the File menu. You can also load a file from the Finder by either double-clicking its icon or dragging and dropping it onto the SpeedSearch application icon. When you load a SpeedSearch file, the contents of the results area are restored to the same state as when the file was saved. You can perform the same functions with these results as if you had just performed a search.
Preferences Dialog
The Preferences Dialog is used to set additional preferences (other preferences, such as "Search Nested Folders", are set in the main SpeedSearch window). To open this dialog, select the Preferences… item in the Edit menu. When you save preferences by clicking the OK button, SpeedSearch saves them to a preferences file so that they maintain persistence. The preferences you can set are described as follows.
Search Results
These options affect the appearance of the Results Area.
Note: For the Background, Text and Match colors, pressing the Option key and clicking in the color area changes the cursor to an eyedropper. As the cursor is moved around the screen, the color of the screen pixel at the tip of the eyedropper is displayed. Clicking the mouse sets the color to the color selected by the eyedropper. Pressing any key cancels this operation.
Background Color
You can change the background color of the Results Area by clicking the color area labeled "Background Color". Doing so displays the System Color Picker, which allows you to specify a color.
Text Color
You can change the main text color of the Results Area by clicking the color area labeled "Text Color". Doing so displays the System Color Picker, which allows you to specify a color. The main text is all of the text in the results area except the search string.
Search String
You can change the color of the search string (the matching part of a line) in the Results Area by clicking the color area labeled within this box. Doing so displays the System Color Picker, which allows you to specify a color. You can also set the style used for this text by using the checkboxes labeled "Bold", "Italic" and "Underline".
Color Schemes Popup Menu
This menu allows you to select a predefined set of colors for the background, text and search string.
Tab Size Popup Menu
This menu allows you to specify the number of character widths that will be used to display tabs in the Results Area.
Fill Character Popup Menu
This menu allows you to select the character that will be displayed between the file names and matched lines in the Results Area.
Sample Text
This area shows how text will be displayed in the Results Area.
Open 'TEXT' Files in
You can open files that match the search string from within SpeedSearch. Use the items in this area to specify the application that the file is opened in.
File's Application
When this radio button is selected, a file displayed in the results area is opened in its creator application. For example, if a file that matched the search string was created by the application SurfWriter, opening the file from within SpeedSearch opens it in the application SurfWriter.
Chosen Application
When this radio button is selected, a file displayed in the results area is opened in the application of your choice. To choose the application, click the "Choose…" button. This opens up a dialog that allows you to select any application that can open files of type 'TEXT'. The dialog box filters out any files that are not applications and any applications that cannot open 'TEXT' files.
For Files Saved as 'TEXT'
You can specify the creator application for files that are saved with a type of 'TEXT' either by entering the creator code in this edit field or by clicking the "Choose…" button and selecting an application. Clicking the button opens up a dialog that functions exactly as described above with "Chosen Application".
Drawing
You can control whether SpeedSearch uses offscreen drawing for items like captions and the progress bar via the "Use Offscreen Drawing" checkbox. When offscreen drawing is turned on, these items take more time to draw, but they are drawn flicker free. Depending on the type of search that is performed, turning off offscreen drawing can speed up a search by as much as 25%. The more files and directories that are searched, the more the savings. The savings is typically 10%-15%.
Default Settings
You can set the settings in the Preferences Dialog to their default values by clicking the button labeled "Default Settings". Note that this does not affect the "Open 'TEXT' File in" or "For Files Saved as 'TEXT'" settings.
Registering SpeedSearch
SpeedSearch is shareware. If you use it, please pay the $10 fee. Site licenses are available. You can register using the enclosed Register application, or via the Internet at <http://www.kagi.com>.
Contacting the Author
If you have any comments, suggestions or bug reports, please e-mail the author at <brunk@kagi.com>.
This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software.